#ifndef __MESSAGE_HPP__

#define __MESSAGE_HPP__

#include"util.hpp"
#include"level.hpp"
#include<iostream>
#include<string>
#include<thread>
#include<vector>

/*
            信息包含
            1.日志等级
            2.线程id
            3.时间
            4.日志器
            5.文件
            6.行号
            7.有效日志信息
*/
using std::string;

namespace Log
{
    class LogMsg
    {
    public:
    LogLevel::value _level;//日志等级
    std::thread::id _threadId;//产生日志的线程id
        time_t _time;//产生日志的时间戳
        string _Logger;//产生日志的日志器
        string _file;//产生日志的源文件
        size_t _line;//行号
        string _message;//有效信息

    public:
        LogMsg(LogLevel::value level,
            const string Logger,
            const string file,
            size_t line,
            const string message
        )
        :_level(level),
        _threadId(std::this_thread::get_id()),
        _time(util::date::getTime()),
        _Logger(Logger),
        _file(file),
        _line(line),
        _message(message){}
        ;
    };
    
};// namespace Log

#endif // !__MESSAGE_HPP__